home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Interactive Reference Guide
/
C-C++ Interactive Reference Guide.iso
/
c_ref
/
csource5
/
342_01
/
diofnc06.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-02-25
|
2KB
|
68 lines
/*-
* ----------------------------------------------------------------------
* File : DIOFNC06.C
* Creator : Blake Miller
* Version : 01.01.00 February 1991
* Language : Microsoft C Version 5.1
* Purpose : Intel 8255 Compatible Digital IO Functions
* 8255 Get Byte Function
* ----------------------------------------------------------------------
* Revision History:
* 022891 BVM : Change int to short.
* 070490 BVM : Creation
* ----------------------------------------------------------------------
*/
#define DIOFNC06_C_DEFINED 1
#include "DIOLIB.H"
#undef DIOFNC06_C_DEFINED
void dio_get_byte (DIODAT *data, short port, unsigned char *p_dat);
/*- DIO : Byte Get ---------------------------**
* Read one of the bytes in the 8255.
* The port number should be 0 - 2 as follows:
* Use the defines (DIOLIB.H):
* DIO_PORTA = 0 = Port A
* DIO_PORTB = 1 = Port B
* DIO_PORTC = 2 = Port C
* Reads the 8255 and returns data in variable as well as
* loading port data area.
* Passed:
* pointer : DIODAT
* short : port number
* pointer : unsigned char : returned port data
* Returns:
* nothing
* Loads stat with appropriate error code.
* Loads p_dat with returned data.
*/
void dio_get_byte (DIODAT *data, short port, unsigned char *p_dat)
{
unsigned char ival;
/* Make sure the port requested is valid.
* Three ports.
*/
if ( (port < DIO_PORTA) || (port > DIO_PORTC) ){
data->stat = DIO_ST_BP;
return;
}
/* Input the data.
* Save the input data.
* Store to return buffer.
* Indicate all is okay.
*/
dio_bget ( data->base + port, &ival );
data->pdat[port] = ival;
data->stat = DIO_ST_OK;
*p_dat = ival;
}
/*-
* ----------------------------------------------------------------------
* END DIOFNC06.C Source File
* ----------------------------------------------------------------------
*/